原文:[Day 28]今天的我吃錯藥了:用GUI介面開發簡易計算機
昨天因為花了將近兩個小時的時間在邊刻視窗外觀模板,邊研究功能與邏輯,結果今天自己在進行Code review的時候就發現很多必須修改的Bug,而今天就來帶大家看看有哪些地方的Bug需要被重視與修正吧:
上面這張圖是我發現的第一個問題
:錯誤的格式,嚴重性大於欄位留白;簡單來說,這個地方的判斷應該是以錯誤的格式做警示,而且目前現行的計算機若面對留白的部分都是以0
來處理,所以就要將錯誤格式的判別往前提,然後就要預設的欄位設為0 (也包含自己設計的Clean按鍵)
這則是第二個問題
:在沒有按下Clean
的情況下手動清出一格欄位,誤觸Result
卻出現上次計算的結果;這個地方就可能要留一個基本運算式(我可能會預設為加法),然後做即時的資料運算(這樣就不會是出現上次的資料了)
第三個問題
我自己認為應該是沒有記錄使用者輸入紀錄
的這個問題,我要如何知道我剛剛到底按了甚麼按鍵,到底是加、減、乘,還是除?
那就逐一來看看如何修改吧!
針對第一個問題的解決方法如下:
圖中的A
區塊是編寫一個方法來自動補0
到空白欄位裡面,這樣就可以避免沒有值在內的問題
(但老實說這個問題只是因為自己沒有編寫Entry
的預設值才會導致)
圖中的B
區塊(以加法為例)就是在讓程式自動補0
的同時再重新運算一次,當然,這個設計也有編寫到其他運算方法之中(特別是除法,有設計一個除數為零的結果無意義的警告視窗)
針對第二個問題的解決方案如下:
先對公變數存放區新增一個變數roman
來當作判別Result
是否已經被觸發(A
區塊),之後在按下Result
的地方設定if/else來判斷result的觸發於否(B
區塊),再來就是按下Clean
之後也同時要將roman
重置(C
區塊)
對於第三個問題的解決方案我就要多想想了,其實也可以透過「用字串來存放紀錄」的方式,再一併顯示於Result
的彈出視窗上面
那就先這樣了